/*
 *  **************************************************************
 *  Copyright. SOPHOS SYSTEMS. 2010 ALL RIGHTS RESERVED.
 *
 *  This software is only to be used for the purpose for which it
 *  has been provided. No part of it is to be reproduced,
 *  disassembled, transmitted, stored in a retrieval system or
 *  translated in any human or computer language in any way or
 *  for any other purposes whatsoever without the prior written
 *  consent of SOPHOS SYSTEMS. 2010.
 *  ***************************************************************
 */
package com.sophossystems.client.asmon.dto;

import java.io.Serializable;

/**
 * @author juanvelezballesteros
 *
 */
public class EstadosDTO implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	protected int idEstado;
	
	protected boolean idEstadoNull;
	
	protected String nombreEstado;
	
	public EstadosDTO(){
		
	}
	
	/**
	 * @return the idEstado
	 */
	public int getIdEstado() {
		return idEstado;
	}

	/**
	 * @param idEstado the idEstado to set
	 */
	public void setIdEstado(int idEstado) {
		this.idEstado = idEstado;
		this.idEstadoNull = false;
	}

	/**
	 * @return the idEstadoNull
	 */
	public boolean isIdEstadoNull() {
		return idEstadoNull;
	}

	/**
	 * @param idEstadoNull the idEstadoNull to set
	 */
	public void setIdEstadoNull(boolean idEstadoNull) {
		this.idEstadoNull = idEstadoNull;
	}

	/**
	 * @return the nombreEstado
	 */
	public String getNombreEstado() {
		return nombreEstado;
	}

	/**
	 * @param nombreEstado the nombreEstado to set
	 */
	public void setNombreEstado(String nombreEstado) {
		this.nombreEstado = nombreEstado;
	}

	/**
	 * Method 'equals'
	 * 
	 * @param _other
	 * @return boolean
	 */
	@Override
	public boolean equals(Object _other)
	{
		if (_other == null) {
			return false;
		}
		
		if (_other == this) {
			return true;
		}
		
		if (!(_other instanceof EstadosDTO)) {
			return false;
		}
		
		final EstadosDTO _cast = (EstadosDTO) _other;
		if (idEstado != _cast.idEstado) {
			return false;
		}
		
		if (idEstadoNull != _cast.idEstadoNull) {
			return false;
		}
		
		if (nombreEstado == null ? _cast.nombreEstado != nombreEstado : !nombreEstado.equals( _cast.nombreEstado )) {
			return false;
		}
		
		return true;
	}

	/**
	 * Method 'hashCode'
	 * 
	 * @return int
	 */
	@Override
	public int hashCode()
	{
		int _hashCode = 0;
		_hashCode = 29 * _hashCode + idEstado;
		_hashCode = 29 * _hashCode + (idEstadoNull ? 1 : 0);
				
		if (nombreEstado != null) {
			_hashCode = 29 * _hashCode + nombreEstado.hashCode();
		}
		
		return _hashCode;
	}
	
	/**
	 * Method 'toString'
	 * 
	 * @return String
	 */
	@Override
	public String toString()
	{
		StringBuffer ret = new StringBuffer();
		ret.append( "com.sophossystems.client.asmon.dto.EstadosDTO: " );
		ret.append( "idEstado=" + idEstado );
		ret.append( ", nombreEstado=" + nombreEstado );
		return ret.toString();
	}
	
}
